關於練習6-1
修改後如下
#include <stdio.h>
int getResult(int a, int b)
{
  return a + b;
}
int main()
{
  int num1, num2;
  printf("%s", "請輸入一個數字: ");
  scanf("%d", &num1);
  printf("%s", "請輸入第二個數字: ");
  scanf("%d", &num2);
  int result = getResult(num1, num2);
  printf("result: %d", result);
  return 0;
}
執行這段程式碼會請你輸入兩個數字
然後將兩個數字相加
並顯示 result 在console上
若是將函式修改為
#include <stdio.h>
int getResult(int a, int b)
{
  a = a + 1;
  printf("a = a+1: %d", a);
  return a + b;
}
int main()
{
  int num1, num2;
  printf("%s", "請輸入一個數字: ");
  scanf("%d", &num1);
  printf("%s", "請輸入第二個數字: ");
  scanf("%d", &num2);
  int result = getResult(num1, num2);
  printf("a: %d", num1);
  printf("result: %d", result);
  return 0;
}
/**
假設輸入的a = 3, b = 2;
a = a + 1: 4
a: 3
result: 6
**/
也就是說在函式中可以修改值
但是並不會影響到輸入值
在Input 宣告時必須同時宣告變數的型態
若是沒有特別宣告
會預設為int
#include <stdio.h>
int atoi(char s[])
{
  int i, n;
  n = 0;
  for (i = 0; s[i] >= '0' && s[i] <= '9'; i++)
  {
    printf("%d\n", s[i]);
    n = 10 * n + (s[i] - '0');
  }
  return n;
}
int main()
{
  char str[11] = "123";
  int num = atoi(str);
  printf("%d", num);
  return 0;
}
如果輸入的數字格式是字串
將它轉換成為 int
原理是利用ASCII 的數字運算
而 input 的參數是字串
執行某些程式但是動作都會類似
可以不停的呼叫自己
但是必須要有一個或多個可能是可以停止呼叫自己
否則會造成無限迴圈
範例:
#include <stdio.h>
int recursivedemo(int num)
{
  if (num == 0)
  {
    return 0;
  }
  else
  {
    printf("%d\n", num);
    num -= 1;
    recursivedemo(num);
  }
}
int main(void)
{
  int num;
  printf("Please input a number: ");
  scanf("%d", &num);
  recursivedemo(num);
  return 0;
}
/**
input: 5
5
4
3
2
1
**/